ODBC¸¦ »ç¿ëÇÏ¿© DB¿¡ ÀúÀåµÈ µ¥ÀÌÅ͸¦ °Ë»öÇÏ¿© ºÒ·¯¿À±â

 

ODBC¸¦ »ç¿ëÇÏ¿© DB¸¦ ¿¬°áÇÏ¿´À» °æ¿ì »ç¿ëÀÚ°¡ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ DB¿¡¼­ ºÒ·¯¿À°í ½ÍÀ» °ÍÀÌ´Ù. ÀÌ ¶§´Â ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.

 

SQL¹®À» »ç¿ëÇÏ¿© °Ë»öÀ» »ç¿ëÇÏ´Â °æ¿ì DBÁ¾·ù¸¶´Ù Çü½ÄÀÌ ´Ù¸£±â ¶§¹®¿¡ DBÀÇ SQL¹®À» ¾î´À Á¤µµ »ç¿ëÇÒ ÁÙ ¾Ë¾Æ¾ß ÇÑ´Ù.

 

 

1)      µ¥ÀÌÅͺ£À̽º ±¸¼ºÀº ÆíÁý±â|SQL¿¬°á¼³Á¤À» ÂüÁ¶ÇÑ´Ù.

2)      È­¸éÀ» ±¸¼ºÇÑ´Ù. ´ÙÀ½ ¿¹´Â °Ë»ö ¹öÆ°À» »ç¿ëÇÏ¿© ¿øÇÏ´Â µ¥ÀÌÅ͸¦ º¸¿©ÁÖ´Â È­¸éÀÌ´Ù.

 

 

À§ÀÇ È­¸é ±¸¼º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¡®ODBC¿¬°á SQL»ç¿ë ¿©·¯ÁÙ ·¹ÄÚµå º¸À̱⡯¸¦ ÂüÁ¶ÇÑ´Ù. ¹Ù²ï ³»¿ëÀº À§ÀÇ ¡®°Ë»ö¡¯ ¹öÆ°ÀÌ ÂüÁ¶³»¿ë¿¡¼­´Â ¡®Ã³À½ ºÒ·¯¿À±â¡¯ ¹öÆ°À¸·Î ¹Ù²î°í, °Ë»öÇÒ ÇÊµå ½ºÆ®¸µ ű×(SEARCHNAME)¿Í °Ë»öÇÒ °ª(SEARCH)ÀÌ Ãß°¡µÈ °ÍÀÌ ´Ù¸£´Ù.

 

À§ÀÇ È­¸é¿¡ ´ëÇÑ ¼³¸í

 

DB¿¡¼­ ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ã°íÀÚ ÇÑ´Ù. ãÀ» Á¶°ÇÀº °Ë»öÇÒ Çʵå¸íÀÇ ½ºÆ®¸µ ű׿¡  DBÀÇ ÇÊµå ¸íÀ» ÀÔ·ÂÇÏ°í ÀÌ ÇÊµå ¸í¿¡ ÇØ´çÇÏ´Â µ¥ÀÌÅ͸¦ ÁÖ°Ô µÇ¸é µÈ´Ù. (¿¹¸¦ µé¾î, DBÀÇ ÇÊµå ¸íÀÌ YMD(³¯Â¥Å±×)ÀÌ°í, ãÀ» ³¯Â¥´Â 2000/11¿ù·Î ½ÃÀ۵Ǵ ¸ðµç ·¹ÄÚµå¶ó°í Á¤ÀÇÇÏ¸é °Ë»öÇÒ ÇÊµå ¸íÀÇ SEARCHNAME¿¡´Â YMD ¶ó°í ÀÔ·ÂÇÏ°í, °Ë»öÇÒ °ªÀÇ SEARCH¿¡´Â 2000/11%¶ó°í ½áÁÖ¸é µÈ´Ù.)

%´Â DBÀÇ Query¹®¿¡¼­ »ç¿ëÇÏ´Â ¹®Àڷμ­ Çà´ç DBÀÇ Query¸¦ ÂüÁ¶Çϼ¼¿ä.

 

 

1)      À§¿Í °°ÀÌ È­¸éÀ» ±¸¼ºÇÏ¿´´Ù¸é °Ë»ö¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.

 

@sprintf($YMD,"%s","");

@sprintf($AI01,"%s","");

@sprintf($AI02,"%s","");  //°Ë»öÇϱâ Àü¿¡ ÀÏ´Ü °Ë»öÇÒ ³»¿ëÀ» ÀúÀåÇÒ ¹öÆÛµéÀ» CLEAR½ÃŲ´Ù.

 

@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH); //bufwhere¶ó´Â ¹öÆÛ¿¡ DB SQL¿¡¼­ »ç¿ëÇÒ WHEREÀýÀ» ÀúÀåÇÑ´Ù.

 

id=@SQLConnect("autobase","",""); // DB¿Í ¿¬°áÇÑ´Ù.

@SQLSelect(id,"table1","bindlist",bufwhere,""); // À§¿¡¼­ ÀúÀåÇÑ bufwhereÀÇ ³»¿ëÀ» Á¶°ÇÀý·Î ÇÏ¿© DBÀÇ µ¥ÀÌÅ͸¦ ºÒ·¯¿Â´Ù.

 

////

@SQLLast(id);

$LASTPOS=@SQLGetPos(id);

share=$LASTPOS/3;

remaind=$LASTPOS%3;

 

if(remaind != 2) {

$TOTALPAGE = share+1;

}

if(remaind == 2)

{

$TOTALPAGE = share;

}

if($LASTPOS == 0)

{

$TOTALPAGE = 1;

}

// ÀÌ»çÀÌÀÇ ¹®ÀåÀº °Ë»öÇÑ µ¥ÀÌÅ͵éÀÇ ÀüüÆäÀÌÁö¸¦ ³ªÅ¸³½´Ù. ( ¸¸¾à, 3°³ÀÇ ·¹Äڵ带 1ÆäÀÌÁö·Î ÇÏ¿´À» °æ¿ì)

////

 

/////

@SQLFirst(id);

 

for(i=1; i<=3; i=i+1){

   

    $POS=@SQLGetPos(id);

    @sprintf(buf1,"YMD_%02d",i);

    @sprintf(buf2,"AI01_%02d",i);   

    @sprintf(buf3,"AI02_%02d",i);   

  

    if( $POS == $LASTPOS ){

       count=count+1;

     }

  

    @SetTagValue(buf1,$YMD); 

    @SetTagValue(buf2,$AI01); 

    @SetTagValue(buf3,$AI02); 

 

    if (count >1 ){

    @SetTagValue(buf1,""); 

    @SetTagValue(buf2,0); 

    @SetTagValue(buf3,0); 

    }

 

    @SQLNext(id);

}

 

/////  ´ÙÀ½ ³»¿ëÀº YMD_01,YMD_02,YMD_03, AI01_01, AI01_02, AI01_03, AI02_01, AI02_02, AI02_03,ÀÇ Å±׿¡ óÀ½·¹ÄÚµåºÎÅÍ 3°³ÀÇ ·¹Äڵ带 Â÷·Ê·Î ÀúÀåÇÏ°Ô µÈ´Ù.

 

$PAGE=1;

@SQLDisconnect(id);

 

 

2)      ´ÙÀ½¿¡´Â   ¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.

´ÙÀ½ ÇÁ·Î±×·¥Àº ÀüÆäÀÌÁöÀÇ 3°³ÀÇ ·¹Äڵ带 º¸¿©ÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.

 

 

f($PAGE <=1 ) return;

@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH);

 

id=@SQLConnect("autobase","","");

@SQLSelect(id,"table1","bindlist",bufwhere,"");

$PAGE=$PAGE-1;

@SQLSetPos(id,($PAGE-1)*3);

 

 

for(i=1; i<=3; i=i+1){

 

    @sprintf(buf1,"YMD_%02d",i);

    @sprintf(buf2,"AI01_%02d",i);   

    @sprintf(buf3,"AI02_%02d",i);   

  

    @SetTagValue(buf1,$YMD); 

    @SetTagValue(buf2,$AI01); 

    @SetTagValue(buf3,$AI02); 

 

    @SQLNext(id);

    $POS=@SQLGetPos(id);

      

 }

 

$POS=$POS-1;    // ÇöÀç º¸¿©Áö´Â ·¹ÄÚµåÀÇ ¸¶Áö¸· À§Ä¡¸¦ ³ªÅ¸³½´Ù.

@SQLDisconnect(id);

 

 

3)      ´ÙÀ½¿¡´Â   ¹öÆ°¿¡ ´ÙÀ½°ú °°ÀÌ ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÑ´Ù.

 

´ÙÀ½ ÇÁ·Î±×·¥Àº ´ÙÀ½ 3°³ÀÇ ·¹Äڵ带 º¸¿©ÁÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù.

 

if($PAGE >= $TOTALPAGE ) return;

@sprintf(bufwhere,"%s Like '%s'",$SEARCHNAME,$SEARCH);

 

id=@SQLConnect("autobase","","");

@SQLSelect(id,"table1","bindlist",bufwhere,"");

@SQLSetPos(id,$PAGE*3);

$PAGE=$PAGE+1;

 

for(i=1; i<=3; i=i+1){

 

    $POS=@SQLGetPos(id);

 

    @sprintf(buf1,"YMD_%02d",i);

    @sprintf(buf2,"AI01_%02d",i);   

    @sprintf(buf3,"AI02_%02d",i);   

  

    @SetTagValue(buf1,$YMD); 

    @SetTagValue(buf2,$AI01); 

    @SetTagValue(buf3,$AI02); 

 

    

    if( $POS == $LASTPOS) count=count+1;

   

    if(count>1){    

      

         @SetTagValue(buf1,""); 

         @SetTagValue(buf2,0); 

         @SetTagValue(buf3,0); 

     }

    @SQLNext(id);    

   

}

 

 

@SQLDisconnect(id);